home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 21
/
Cream of the Crop 21 (Terry Blount) (October 1996).iso
/
program
/
nwlib15.zip
/
DEMO.ZIP
/
MAIN.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1996-06-08
|
14KB
|
489 lines
unit Main;
interface
uses
SysUtils,
WinTypes,
WinProcs,
Messages,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
StdCtrls,
ExtCtrls,
Menus,
Nwlib,
Nwtools,
NWServer,
NwProp;
type
TwinMain = class(TForm)
Panel1: TPanel;
foot1: TLabel;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
everyone: TListBox;
Header1: THeader;
groups: TListBox;
Header2: THeader;
Panel2: TPanel;
bExit: TButton;
userid: TLabel;
objectid: TLabel;
netname: TLabel;
server: TLabel;
Bevel1: TBevel;
username: TLabel;
loggedin: TLabel;
serverdate: TLabel;
label6: TLabel;
bEnable: TButton;
bDisable: TButton;
Label2: TLabel;
netDrive: TLabel;
Panel3: TPanel;
foot2: TLabel;
serverlist: TListBox;
servertext: TEdit;
bLogout: TButton;
mapList: TListBox;
Header3: THeader;
volumes: TListBox;
everyonePopup: TPopupMenu;
ChangePassword1: TMenuItem;
SendLineMessage1: TMenuItem;
NWLib1: TNWLib;
NWServer1: TNWServer;
NWTools1: TNWTools;
NWProp1: TNWProp;
bSemaphore: TButton;
bRights: TButton;
bProp: TButton;
bFiles: TButton;
bStats: TButton;
isManager: TCheckBox;
isSuper: TCheckBox;
isConsole: TCheckBox;
bMap: TButton;
bCapture: TButton;
bNDS: TButton;
canLogin: TCheckBox;
mapPopup: TPopupMenu;
mapDelMenu: TMenuItem;
mapInfoMenu: TMenuItem;
procedure FormShow(Sender: TObject);
procedure everyoneDblClick(Sender: TObject);
procedure groupsDblClick(Sender: TObject);
procedure bExitClick(Sender: TObject);
procedure bMapClick(Sender: TObject);
procedure bEnableClick(Sender: TObject);
procedure bDisableClick(Sender: TObject);
procedure serverlistDblClick(Sender: TObject);
procedure bLogoutClick(Sender: TObject);
procedure bCaptureClick(Sender: TObject);
procedure mapListDblClick(Sender: TObject);
procedure bStatsClick(Sender: TObject);
procedure bFilesClick(Sender: TObject);
procedure bRightsClick(Sender: TObject);
procedure ChangePassword1Click(Sender: TObject);
procedure SendLineMessage1Click(Sender: TObject);
procedure bNDSClick(Sender: TObject);
procedure bPropClick(Sender: TObject);
procedure bSemaphoreClick(Sender: TObject);
procedure mapInfoMenuClick(Sender: TObject);
procedure mapDelMenuClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
winMain: TwinMain;
implementation
{$R *.DFM}
uses
NDS,
Stats,
userStat,
PrintCap,
semaphr,
Prop,
files;
var
connectInfo : TNWConnectInfo ;
procedure TwinMain.FormShow(Sender: TObject);
begin
if not NWInit then
AlertBox('Netware Shells Are Not Loaded;;Inconsistent Results Are Likely') ;
{ Show Footer }
foot1.caption := WhoAmi(0) + ' (' +
intToStr(GetConnectID(GetPrimaryServerID)) + ')';
foot2.caption := FormDate(date) ;
{ Various Labels }
userid.caption := WhoAmI(0) ;
objectid.caption := GetObjID(0,userid.caption,nw_user) ;
server.caption := GetServerName(GetPrimaryServerID) ;
serverdate.caption := FormatDateTime('mm/dd/yyyy',GetServerDate(GetPrimaryServerID)) + ' @ ' +
FormatDateTime('hh:nn am/pm',GetServerTime(GetPrimaryServerID));
netname.caption := FullName(0,userid.caption) ;
netdrive.caption := GetFirstNetDrive + ':' + ' Next Free: ' +
GetNextNetDrive + ':' ;
{ checkboxes }
isSuper.checked := SecureEquiv(0,userid.caption,'SUPERVISOR') ;
isConsole.checked := IsConsoleOperator(GetPrimaryServerID);
isManager.checked := IsNWManager(GetPrimaryServerID) ;
canLogin.checked := serverLoginOK(0) ;
{general connection information}
{ Popup Menu Disable ChangePW Option if not SUPERVISOR }
if not isSuper.checked then
everyonePopup.items[0].enabled := false ;
{ Disable 'Disable Login' Button }
if not IsConsoleOperator(GetPrimaryServerID) then
bDisable.enabled := false ;
{ Test the Login (Attach) Function - note intended typo to prevent lockout}
if NWLogin('fs1','FSUPERVISOR','badmofo',nw_user) then
okBox('SUPERVISOR Login Successful!') ;
{ Password Check }
if NWPassCheck(GetPrimaryServerID,'FSUPERVISOR','ZOOMY') then
AlertBox('Wow! I Guessed Supervisor''s Password!!') ;
{ Build EVERYONE List }
everyone.items.addStrings(GetMemberList(
GetPrimaryServerID,'EVERYONE',True )) ;
{ Build GroupList }
groups.items.addStrings(GetBinderyList(
GetPrimaryServerID,
nw_group)) ;
{ Build ServerList }
serverList.items.addStrings(SList) ;
{ Network Volume Listing }
volumes.items.addStrings(GetVolumes(GetPrimaryServerID)) ;
{ Build Drive Map List }
mapList.items.addStrings(mapShow) ;
end;
procedure TwinMain.everyoneDblClick(Sender: TObject);
var
ctemp : string ;
begin
ctemp := everyone.items[everyone.itemindex] ;
if IsLoggedIn(0,ctemp) then
begin
{ Show Stats Window }
try
Application.CreateForm(TWinUserStats,winUserStats) ;
winUserStats.netname.text := ctemp ;
winUserStats.showModal ;
{ Send Line Message to Self ... because we can.}
if ctemp = WhoAmi(0) then
begin
if not SendLineMessage(0,ctemp,'Hey! Watch Where You''re Clicking That Mouse!') then
AlertBox('Have You Disabled Broadcasts?');
end;
finally
winUserStats.free ;
end;
end
else
begin
username.caption := FullName(0,ctemp) ;
loggedin.Caption := 'Is NOT Logged In!' ;
end;
end;
procedure TwinMain.groupsDblClick(Sender: TObject);
begin
username.caption := groups.items[groups.itemindex] ;
loggedin.caption := GetObjID(0,groups.items[groups.itemindex],nw_group) ;
{ Get Members }
header1.sections[0] := lowerCase(username.caption) ;
everyone.clear ;
everyone.items.addstrings(GetMemberList(getPrimaryServerID,username.caption,true)) ;
end;
procedure TwinMain.bExitClick(Sender: TObject);
begin
close ;
end;
procedure TwinMain.bMapClick(Sender: TObject);
var
chtemp : char ;
ctemp : string ;
begin
chtemp := getNextNetDrive ;
if yesNoBox('Mapping Drive ' + chtemp + ': to;' +
getServerName(getPrimaryServerID) + '/SYS:\;;' +
'OK With You?') then
begin
if map(chtemp,
getServerName(getPrimaryServerID) + '/sys:public') then
begin
mapList.clear ;
mapList.items.addStrings(mapShow) ;
netdrive.caption := getFirstNetDrive + ':' +
' Next Free: ' +
getNextNetDrive + ':' ;
OKBox(chtemp + ';Drive Map Created Successfully!')
end
else
alertBox('Error Mapping Drive ' + chtemp + ':') ;
end;
end;
procedure TwinMain.bEnableClick(Sender: TObject);
begin
if EnableLogins(GetPrimaryServerID) then
begin
bEnable.enabled := false ;
bDisable.enabled := True ;
canLogin.checked := serverLoginOK(0) ;
end
else
AlertBox('You Must Have Console Privileges to Enable Logins!') ;
end;
procedure TwinMain.bDisableClick(Sender: TObject);
begin
if YesNoBox('Disabling Logins Can be Dangerous!;;Continue?') then
begin
if DisableLogins(GetPrimaryServerID) then
begin
bEnable.enabled := True ;
bDisable.enabled := False